// i18n.js
import {i18n} from '@lingui/core';
import {messages as enMessages} from './locales/en/messages.mjs';
import {messages as zhMessages} from './locales/zh/messages.mjs';
export const locales = {
    zh: "zh",
    en: "en",
    fr: "fr",
    ja: "ja",
};
export const locales2 = ['zh', 'en', 'fr', 'ja']
export const defaultLocale = "zh";

// 切换语言
export function switchLocale(locale = defaultLocale) {
    i18n.activate(locale)
    console.log(`Loaded locale: ${locale}`, i18n, new Date().toLocaleString());
}

// 组合式API
export function useI18n() {

    return {
        t: i18n._,
        i18n
    };
}

// 标准Vue插件
export default {
    install(app, options = {}) {
        // 1. 初始化i18n
        i18n.load({
            en: enMessages,
            zh: zhMessages
        });
        i18n.activate(options.defaultLocale || 'zh');

        // 2. 注册全局属性和方法
        app.config.globalProperties.$i18n = i18n;
        app.config.globalProperties.t = i18n._;

        // 3. 提供依赖注入
        // 组件中可以通过 inject 获取
        app.provide('i18n', i18n);
        app.provide('t', i18n._);
    }
};